home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 2010 April
/
PCWorld0410.iso
/
redakcyjne
/
programy
/
Tlen 6.0.1.12 pl
/
tleninst60112.exe
/
sdk
/
TlenSources
/
plugin
/
plugin_chatwindow.h
< prev
next >
Wrap
C/C++ Source or Header
|
2006-12-29
|
8KB
|
219 lines
#ifndef plugin_chatwindowH
#define plugin_chatwindowH
#include <windows.h>
#include "plugin_struct.h"
#include "plugin_contactlist_defs.h"
typedef struct {
int structSize; //wielko£µ struktury w bajtach
HWND Handle; //uchwyt okienka
ContactDef Contact; //Kontakt z ktorym przeprowadzana jest rozmowa, tudzie┐ adres pokoju konferencyjnego
char *WindowCaption; //Tytul okienka
TlenSingleImageDef WindowIconSmall; //Ikonka okienka - mala
TlenSingleImageDef WindowIconBig; //Ikonka okienka - duza (nie obslugiwana jeszcze)
int Flags;
TLENFUNCTION CallBackFunc; //Do przechwytywania zdarzen przez tworce okienka
char *ID; //Identyfikator chata/konferencji (od wersji API 0.1.6.1)
char *ShortCaption; //krotki tytul, umieszczany np na zakladce w oknie rozmowy
// od API 0.1.8.3
} TlenChatWindowInfoDef;
#define CHATWINDOW_SHOWFLAG_EMOTICONS 0x0001
#define CHATWINDOW_SHOWFLAG_PARTNER_INITIATED 0x0002 //rozmowe inicjuje rozmowca
#define CHATWINDOW_SHOWFLAG_NOSOUND 0x0004
#define CHATWINDOW_SHOWFLAG_ALERTICON 0x0008
#define CHATWINDOW_SHOWFLAG_TYPINGICON 0x0010
#define CHATWINDOW_SHOWFLAG_VOICEICON 0x0020
#define CHATWINDOW_SHOWFLAG_VIDEOICON 0x0040
#define CHATWINDOW_SHOWFLAG_FILEICON 0x0080
#define CHATWINDOW_SHOWFLAG_CONFERENCE 0x0100 //pokazuje okno w trybie konferencji
#define CHATWINDOW_SHOWFLAG_NOSHOW 0x0200 // nie pokazuj
// okna
//WPARAM dla CallBackFunc
#define CHATWINDOW_SHOWACTION_DESTROYED 1
//-------------------------------------------------------------------------------------
//Zdarzenia - hook pod ktory mozna sie podczepic i przechwytywac zdarzenia w okienkach rozmowy, takze wplywac na wykonanie funkcji
#define TLEN_CHATWINDOW_EVENT "Tlen/ChatWindow/Event"
//WPARAM:
typedef struct {
int structSize; //wielko£µ struktury w bajtach
TlenChatWindowInfoDef *WindowInfo;
int EventID;
} TlenChatWindowEventDef;
#define TLEN_CHATWINDOW_EVENT_AFTERCREATED 1
#define TLEN_CHATWINDOW_EVENT_BEFOREDESTROYED 2
#define TLEN_CHATWINDOW_EVENT_AFTERCLOSED 3
#define TLEN_CHATWINDOW_EVENT_AFTEROPENED 4
#define TLEN_CHATWINDOW_EVENT_BEFOREFLASHBEGIN 5
#define TLEN_CHATWINDOW_EVENT_AFTERFLASHEND 6
// zdarzenia zwiazane z zakladkami w oknie rozmowy
#define TLEN_CHATWINDOW_EVENT_TAB_AFTERCREATED 7
#define TLEN_CHATWINDOW_EVENT_TAB_BEFOREDESTROYED 8
#define TLEN_CHATWINDOW_EVENT_TAB_AFTERCLOSED 9
#define TLEN_CHATWINDOW_EVENT_TAB_AFTEROPENED 10
#define TLEN_CHATWINDOW_EVENT_TAB_BEFOREFLASHBEGIN 11
#define TLEN_CHATWINDOW_EVENT_TAB_AFTERFLASHEND 12
/*
#define TLEN_CHATWINDOW_EVENT_BEFOREMSGSHOW 7
#define TLEN_CHATWINDOW_EVENT_BEFORESETPARAM 8
#define TLEN_CHATWINDOW_EVENT_BEFORESHOWALERT 9
#define TLEN_CHATWINDOW_EVENT_BEFORESHOWTYPING 10
#define TLEN_CHATWINDOW_EVENT_BEFORESENDTEXT 11
#define TLEN_CHATWINDOW_EVENT_AFTERTEXTCHANGED 12
#define TLEN_CHATWINDOW_EVENT_AFTERKEYDOWN 13
*/
//Funkcje
// zwraca 1 jesli uzytkownik jest ignorowany w pokoju konferencyjnym
// 0 jesli nie
// w wParam przekazujemy id uzytkownika
#define TLEN_CHATWINDOW_CONF_USER_IGNORED "Tlen/ChatWindow/ConfUserIgnored"
#define TLEN_CHATWINDOW_GET_HANDLE "Tlen/ChatWindow/GetHandle"
#define TLEN_CHATWINDOW_SHOW "Tlen/ChatWindow/Show"
//WPARAM: TlenChatWindowInfoDef *
#define TLEN_CHATWINDOW_SHOWMESSAGE "Tlen/ChatWindow/ShowMessage"
//WPARAM: TlenChatWindowInfoDef * (w nim ContactDef istotne)
//LPARAM:
typedef struct {
int structSize; //wielko£µ struktury w bajtach
char *Name;
int Size;
int Color;
int Flags;
} FontStructDef;
#define TLEN_FONT_STYLE_BOLD 0x0001
#define TLEN_FONT_STYLE_ITALIC 0x0002
#define TLEN_FONT_STYLE_UNDERLINE 0x0004
#define TLEN_FONT_STYLE_APPLY_NAME 0x00010000
#define TLEN_FONT_STYLE_APPLY_SIZE 0x00020000
#define TLEN_FONT_STYLE_APPLY_COLOR 0x00040000
#define TLEN_FONT_STYLE_APPLY_BOLD 0x00080000
#define TLEN_FONT_STYLE_APPLY_ITALIC 0x00100000
#define TLEN_FONT_STYLE_APPLY_UNDERLINE 0x00200000
#define TLEN_FONT_STYLE_APPLY_ALL 0x00FF0000
typedef struct {
int structSize; //wielko£µ struktury w bajtach
char *UserID;
char *Name;
unsigned int TimeStamp; //jesli ponizsze dwa pola sa niewypelnione, to tlen sam sformatuje date i czas
char *Time;
char *Date;
char *Message;
int Flags;
} TlenChatWindowMessageOldDef;
typedef struct {
int structSize; //wielko£µ struktury w bajtach
char *UserID;
char *Name;
unsigned int TimeStamp; //jesli ponizsze dwa pola sa niewypelnione, to tlen sam sformatuje date i czas
char *Time;
char *Date;
char *Message;
int Flags;
//rozszerzona wiadomosc
FontStructDef UserIDFont;
FontStructDef NameFont;
FontStructDef DateFont;
FontStructDef TimeFont;
FontStructDef MessageFont;
} TlenChatWindowMessageDef;
#define CHATWINDOW_MESSAGEFLAG_RECEIVED 0x0001
#define CHATWINDOW_MESSAGEFLAG_SENT 0x0002
#define CHATWINDOW_MESSAGEFLAG_OFFLINE 0x0004
#define CHATWINDOW_MESSAGEFLAG_SYSTEMMESSAGE 0x0008
#define CHATWINDOW_MESSAGEFLAG_OVERRIDESHOWEMOS 0x0010
#define CHATWINDOW_MESSAGEFLAG_OVERRIDENOEMOS 0x0020
#define CHATWINDOW_MESSAGEFLAG_HTMLMESSAGE 0x0040
#define CHATWINDOW_MESSAGEFLAG_HTMLBLOCK 0x0080
#define CHATWINDOW_MESSAGEFLAG_NOSOUND 0x0100
#define CHATWINDOW_MESSAGEFLAG_SHOWTIMESTAMP 0x0200
#define CHATWINDOW_MESSAGEFLAG_TEXTFORMATENABLED 0x0400
#define CHATWINDOW_MESSAGEFLAG_SCROLLLOCALIMAGE 0x0800
#define CHATWINDOW_MESSAGEFLAG_USEFONT_USERID 0x01000
#define CHATWINDOW_MESSAGEFLAG_USEFONT_NAME 0x02000
#define CHATWINDOW_MESSAGEFLAG_USEFONT_DATE 0x04000
#define CHATWINDOW_MESSAGEFLAG_USEFONT_TIME 0x08000
#define CHATWINDOW_MESSAGEFLAG_USEFONT_MESSAGE 0x10000
#define CHATWINDOW_MESSAGEFLAG_PAGE_ACTIVATE 0x20000 // przelacza
// aktywna zakladke gdzie ma pojawic sie wiadomosc
#define TLEN_CHATWINDOW_SETPARAM "Tlen/ChatWindow/SetParam"
//WPARAM: TlenChatWindowInfoDef *
//LPARAM:
// zmiana tytulu okna
#define CHATWINDOW_SETPARAM_CAPTION 0x0001
// zmiana ikony okna
#define CHATWINDOW_SETPARAM_ICON 0x0002
// zmiana danych kontaktu
#define CHATWINDOW_SETPARAM_CONTACT 0x0004
// zmiana flag CHATWINDOW_SHOWFLAG_*
#define CHATWINDOW_SETPARAM_FLAGS 0x0008
// zmiana tytulu zakladki
#define CHATWINDOW_SETPARAM_SHORT_CAPTION 0x0010
#define TLEN_CHATWINDOW_SHOWTYPINGNOTIFICATION "Tlen/ChatWindow/ShowTypingNotification"
//WPARAM: TlenChatWindowInfoDef *
//LPARAM: 1 - pokazuje, 2 - chowa
#define TLEN_CHATWINDOW_ALERTUSER "Tlen/ChatWindow/AlertUser"
//WPARAM: TlenChatWindowInfoDef *
//LPARAM: 1
#endif